package com.xuan.yupao.service;

import com.xuan.yupao.model.domain.Friend;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xuan.yupao.model.domain.vo.AddRequestVo;
import com.xuan.yupao.model.domain.vo.UserVo;

import java.util.List;

/**
* @author 清凉茶
* @description 针对表【friend(好友表)】的数据库操作Service
* @createDate 2024-07-08 19:52:47
*/
public interface FriendService extends IService<Friend> {

    /**
     *  申请添加好友
     * @param fromId   申请用户id
     * @param toId     被添加的用户id
     * @param requestMessage    好友申请内容
     * @return
     */
    String addFriend(Long fromId, Long toId, String requestMessage);

    /**
     *  同意好友申请
     * @param fromId  申请用户id
     * @param toId    被添加的用户id
     * @return
     */
    String agreeFriendApply(Long fromId, Long toId);

    /**
     *  拒绝好友申请
     * @param fromId 申请用户id
     * @param toId   被添加的用户id
     * @return
     */
    String refuseFriendApply(Long fromId, Long toId);

    /**
     * 获取未处理的好友申请数
     *
     * @param toId 被添加的用户id
     * @return
     */
    Long getFriendRequestNum(Long toId);

    /**
     *  获取未处理的好友申请的详细信息
     * @param toId 被添加的用户id
     * @return
     */
    List<AddRequestVo> getUntreatedRecords(Long toId);

    /**
     * 获取当前登录用户的好友列表
     * @param userId
     * @return
     */
    List<UserVo> getMyFriendList(Long userId);
}
